When creating software, it is often necessary to compile and maintain several different versions of the software. Because these different versions may work with different operating systems and/or different hardware, many configuration management issues may arise. Further, installation issues are more likely to occur if it is unclear which version needs to be installed. Redundant work may also be performed when updates affect multiple versions. A need exists for a system and method that overcome such drawbacks.